连接RESTful WebService后,通过配置输入输出参数,无需编程,即可从通过RESTful WebService获取和输出数据到第三方系统。

本章以K3 WISE(接口为RESTful WebService)系统生成采购订单为例,演示与RESTful WebService集成的配置过程。

集成场景

使用ESB数据源,通过RESTful Service配置从K3 WISE获取数据→在表单上使用RESTful WebService获取的数据。

Image

使用ESB业务输出,使用RESTful WebService配置输出数据到第三方系统→在流程上调用,订单通过RESTful Service抛入到K3 WISE系统。

Image

本节包括以下主题:

# 连接到RESTful WebService

在【连接管理】模块,添加【RESTful】连接,填写服务基地址,如图:

注意:这里的服务基址,也是K3系统的API说明地址,为固定格式:http://K3服务器地址/K3API。

Image

根据说明书地址查看API说明,调用K3API必须首先要获取K3API Token,然后才能通过Token访问K3API。如图:

Image

而生成Token,需要需要授权码。这一步我们需要在连接里完成,以便后面调用API,如图:

在K3 WISE系统EBDI模块→API平台→API授权→企业管理→获取授权码。

Image

在扩展属性添加用到的授权码参数及值。

Image

在认证模块,配置获取Token,如图:

Image

把扩展属性添加的授权码参数,以拖拽的方式映射到右侧authorityCode,如图:

Image

配置返回参数映射,如图:

Image

点击“确定”返回,测试通过后,保存连接。

# 配置从RESTful WebService获取数据

在【ESB数据源】模块,点击【添加】,进入ESB数据源配置界面,拖出【RESTful】节点进行配置,如图:

Image

# 获取部门列表

配置连接和服务路径

在金蝶K/3 WISE系统→EBDI→API说明→基础资料→部门,在接口列表栏目,选择获取列表,如图:

Image

在【常规】配置界面,填写服务路径,选择请求类型,如图:

Image

配置传参

在金蝶K/3 WISE系统→EBDI→API说明→基础资料→部门,在接口列表栏目,选择获取列表,查看请求参数说明。如图:

Image

在调用界面,以导入架构的方式,导入请求参数,如图:

Image

以拖拽的方式,把左侧分页参数,start、limit和查询参数param依次映射到右侧对应的参数,如图:

Image

由于K3 WISE接口返回的分页方式与ESB分页方式不同,所以要转换一下:PageIndex: Paging.start/Paging.limit+1。详情参考:公共知识

注意看说明书,查询参数这里写法比较特殊,并且我们只用到了FName(部门名称),可以把没用到的参数删掉,并且把参数名称改的友好一些,如图

Image

注意:Fields字段,根据说明书是显示字段,有时候不写也能正确返回数据,有时候不写不能正确返回数据,建议把参数都写上。

根据说明书,url地址需要Token这个参数,我们在连接里已经获取,这里在QueryParams上右键编辑,添加token参数,并把左侧token映射到添加的参数上,如图:

Image

配置返回数据

在金蝶K/3 WISE系统→EBDI→API说明→基础资料→部门,在接口列表栏目,选择获取列表,查看返回参数示例,如图:

Image

以导入架构的方式,导入返回参数,如图:

Image

我们需要返回具体的字段,我们看到返回示例DATA为null,没有列出具体字段,这时我们需要手动加我们需要的字段,在金蝶K/3 WISE系统→EBDI→API说明→基础资料→部门,在接口列表栏目,选择获取模版,查看字段说明,如图:

Image

作为数据源,这里我们用到的字段有FNumber部门编码、FName部门名称,在DATA上右键编辑,添加字段,如图:

Image

修改右侧参数的显示名称并删掉用不到的参数,然后把左侧用到的返回参数和右侧的Response返回参数以拖拽的方式依次映射,如图:

Image

注意:经过测试,发现K3 WISE官方API说明书提供的返回参数有误,虽然说明书返回参数全是大写,正常配置却出不来数据,需要改为仅首字母大写才可以。所以,先按照说明书的大写配置,如果配置不成功,尝试把用到的返回参数改为仅首字母大写。

获取部门API这里,我们需要把用到的返回参数改为仅首字母大写,然后重新映射,如图:

Image

测试

到这里,获取部门数据就配好了,保存为:RESTful-K3 WISE部门列表,点击测试,获取数据,如图:

Image

# 获取供应商列表

配置连接和服务路径

在金蝶K/3 WISE系统→EBDI→API说明→供应链→供应商档案,在接口列表栏目,选择获取列表,如图:

Image

在【常规】配置界面,填写服务路径,选择请求类型,如图:

Image

配置传参

在金蝶K/3 WISE系统→EBDI→API说明→供应链→供应商档案,在接口列表栏目,选择获取列表,查看请求参数说明。如图:

Image

在调用界面,以导入架构的方式,导入请求参数,如图:

Image

以拖拽的方式,把左侧分页参数,start、limit和查询参数param依次映射到右侧对应的参数,如图:

Image

由于K3 WISE接口返回的分页方式与ESB分页方式不同,所以要转换一下:PageIndex: Paging.start/Paging.limit+1。详情参考:公共知识

注意看说明书,查询参数这里写法比较特殊,并且我们只用到了FName(供应商名称),可以把没用到的参数删掉,并且把参数名称改的友好一些,如图:

Image

注意:

1、Fields字段,根据说明书是显示字段,有时候不写也能正确返回数据,有时候不写不能正确返回数据,建议写上。

2、SelectPage字段,根据说明书是标体索引,有时候不写也能正确返回数据,有时候不写会报错,建议写上。

3、top字段,根据说明书是当前记录数,有时候不写也能正确返回数据,有时候不写返回空结果,建议写上。

根据说明书,url地址需要Token这个参数,我们在连接里已经获取,这里在QueryParams上右键编辑,添加token参数,并把左侧token映射到添加的参数上,如图:

Image

配置返回数据

在金蝶K/3 WISE系统→EBDI→API说明→供应链→供应商档案,在接口列表栏目,选择获取列表,查看返回参数示例,如图:

Image

以导入架构的方式,导入返回参数,如图:

Image

我们需要返回具体的字段,我们看到返回示例DATA为null,没有列出具体字段,这时我们需要手动加我们需要的字段,在金蝶K/3 WISE系统→EBDI→API说明→供应链→供应商档案,在接口列表栏目,选择获取模版,查看字段说明,如图:

Image

作为数据源,这里我们用到的字段有FNumber供应商编码、FName供应商名称,在DATA上右键编辑,添加字段,如图:

Image

修改右侧参数的显示名称并删掉用不到的参数,然后把左侧用到的返回参数和右侧的Response返回参数以拖拽的方式依次映射,如图:

Image

注意:经过测试,发现K3 WISE官方API说明书提供的返回参数有误,虽然说明书返回参数全是大写,正常配置却出不来数据,需要改为仅首字母大写才可以。所以,先按照说明书的大写配置,如果配置不成功,尝试把用到的返回参数改为仅首字母大写。

测试

到这里,获取供应商数据就配好了,保存为:RESTful-K3 WISE供应商列表,点击测试,获取数据,如图:

Image

# 获取币别列表

配置连接和API

在金蝶K/3 WISE系统→EBDI→API说明→基础资料→币别,在接口列表栏目,选择获取列表,如图:

Image

在【常规】配置界面,填写服务路径,选择请求类型,如图:

Image

配置传参

在金蝶K/3 WISE系统→EBDI→API说明→基础资料→币别,在接口列表栏目,选择获取列表,查看请求参数说明。如图:

Image

在调用界面,以导入架构的方式,导入请求参数,如图:

Image

以拖拽的方式,把左侧分页参数,start、limit依次映射到右侧对应的参数,如图:

Image

由于K3 WISE接口返回的分页方式与ESB分页方式不同,所以要转换一下:PageIndex: Paging.start/Paging.limit+1。详情参考:公共知识

币种数据源我们在表单上采用下拉框的形式展现,所以这里不需要配置查询参数,把默认的查询参数删除即可,如图:

Image

根据说明书,url地址需要Token这个参数,我们在连接里已经获取,这里在QueryParams上右键编辑,添加token参数,并把左侧token映射到添加的参数上,如图:

Image

配置返回数据

在金蝶K/3 WISE系统→EBDI→API说明→基础资料→币别,选择获取列表,查看返回参数示例,如图:

Image

以导入架构的方式,导入返回参数,如图:

Image

我们需要返回具体的字段,我们看到返回示例DATA为null,没有列出具体字段,这时我们需要手动加我们需要的字段,在金蝶K/3 WISE系统→EBDI→API说明→基础资料→币别,在接口列表栏目,选择获取模版,查看字段说明,如图:

Image

作为数据源,这里我们用到的字段有FNumber货币编码、FName货币名称,在DATA上右键编辑,添加字段,如图:

Image

修改右侧参数的显示名称并删掉用不到的参数,然后把左侧用到的返回参数和右侧的Response返回参数以拖拽的方式依次映射,如图:

Image

注意:经过测试,发现K3 WISE官方API说明书提供的返回参数有误,虽然说明书返回参数全是大写,正常配置却出不来数据,需要改为仅首字母大写才可以。所以,先按照说明书的大写配置,如果配置不成功,尝试把用到的返回参数改为仅首字母大写。

获取币别API这里,我们需要把用到的返回参数改为仅首字母大写,然后重新映射,如图:

Image

测试

到这里,获取供应商数据就配好了,保存为:RESTful-K3 WISE币别列表,点击测试,获取数据,如图:

Image

# 获取物料列表

配置连接和API

在金蝶K/3 WISE系统→EBDI→API说明→基础资料→物料,在接口列表栏目,选择获取列表,如图:

Image

在【常规】配置界面,填写服务路径,选择请求类型,如图:

Image

配置传参

在金蝶K/3 WISE系统→EBDI→API说明→基础资料→物料,在接口列表栏目,选择获取列表,查看请求参数说明。如图:

Image

在调用界面,以导入架构的方式,导入请求参数,如图:

Image

以拖拽的方式,把左侧分页参数,start、limit和查询参数param依次映射到右侧对应的参数,如图:

Image

由于K3 WISE接口返回的分页方式与ESB分页方式不同,所以要转换一下:PageIndex: Paging.start/Paging.limit+1。详情参考:公共知识

注意看说明书,查询参数这里写法比较特殊,并且我们只用到了FName(物料名称),可以把没用到的参数删掉,并且把参数名称改的友好一些,如图:

Image

根据说明书,url地址需要Token这个参数,我们在连接里已经获取,这里在QueryParams上右键编辑,添加token参数,并把左侧token映射到添加的参数上,如图:

Image

配置返回数据

在金蝶K/3 WISE系统→EBDI→API说明→基础资料→物料,在接口列表栏目,选择获取列表,查看返回参数示例,如图:

Image

以导入架构的方式,导入返回参数,如图:

Image

我们需要返回具体的字段,我们看到返回示例DATA为null,没有列出具体字段,这时我们需要手动加我们需要的字段,在金蝶K/3 WISE系统→EBDI→API说明→基础资料→物料,在接口列表栏目,选择获取模版,查看字段说明,如图:

Image

作为数据源,这里我们用到的字段有FNumber物料编码、FName物料名称,在DATA上右键编辑,添加字段,如图:

Image

修改右侧参数的显示名称并删掉用不到的参数,然后把左侧用到的返回参数和右侧的Response返回参数以拖拽的方式依次映射,如图:

Image

注意:经过测试,发现K3 WISE官方API说明书提供的返回参数有误,虽然说明书返回参数全是大写,正常配置却出不来数据,需要改为仅首字母大写才可以。所以,先按照说明书的大写配置,如果配置不成功,尝试把用到的返回参数改为仅首字母大写。

获取物料API这里,我们需要把用到的返回参数改为仅首字母大写,然后重新映射,如图:

Image

测试

到这里,获取供应商数据就配好了,保存为:RESTful-K3 WISE物料列表,点击测试,获取数据,如图:

Image

# 获取计量单位列表

配置连接和API

在金蝶K/3 WISE系统→EBDI→API说明→基础资料→计量单位,在接口列表栏目,选择获取列表,如图:

Image

在【常规】配置界面,填写服务路径,选择请求类型,如图:

Image

配置传参

在金蝶K/3 WISE系统→EBDI→API说明→基础资料→计量单位,在接口列表栏目,选择获取列表,查看请求参数说明。如图:

Image

在调用界面,以导入架构的方式,导入通用请求参数,虽然说明书没有提供这些参数,但是若需要分页,还是需要导入这些参数才可以,如图:

Image

导入通用参数之后,手动添加添加说明书里获取计量单位的请求参数FUnitGroupName,如图:

Image

以拖拽的方式,把左侧分页参数,start、limit依次映射到右侧对应的参数,如图:

Image

由于K3 WISE接口返回的分页方式与ESB分页方式不同,所以要转换一下:PageIndex: Paging.start/Paging.limit+1。详情参考:公共知识

注意看说明书,需要给FUnitGroupName传参,这里直接给参数赋值,把没用到的查询参数删掉,如图:

Image

根据说明书,url地址需要Token这个参数,我们在连接里已经获取,这里在QueryParams上右键编辑,添加token参数,并把左侧token映射到添加的参数上,如图:

Image

配置返回数据

在金蝶K/3 WISE系统→EBDI→API说明→基础资料→计量单位,在接口列表栏目,选择获取列表,查看返回参数示例,如图:

Image

以导入架构的方式,导入返回参数,如图:

Image

我们需要返回具体的字段,我们看到返回示例DATA为null,没有列出具体字段,这时我们需要手动加我们需要的字段,在金蝶K/3 WISE系统→EBDI→API说明→基础资料→计量单位,在接口列表栏目,选择获取模版,查看字段说明,如图:

Image

作为数据源,这里我们用到的字段有FNumber单位编码、FName单位名称,在DATA上右键编辑,添加字段,如图:

Image

修改右侧参数的显示名称并删掉用不到的参数,然后把左侧用到的返回参数和右侧的Response返回参数以拖拽的方式依次映射,如图:

Image

注意:经过测试,发现K3 WISE官方API说明书提供的返回参数有误,虽然说明书返回参数全是大写,正常配置却出不来数据,需要改为仅首字母大写才可以。所以,先按照说明书的大写配置,如果配置不成功,尝试把用到的返回参数改为仅首字母大写。

获取计量单位API这里,我们需要把用到的返回参数改为仅首字母大写,然后重新映射,如图:

Image

测试

到这里,获取供应商数据就配好了,保存为:RESTful-K3 WISE计量单位,点击测试,获取数据,如图:

Image

# 在表单上使用RESTful WebService获取的数据

在表单设计器上配置ESB数据源

Image

Image

Image

Image

Image

在表单上使用ESB数据源

Image

Image

Image

Image

Image

# 使用RESTful WebService配置输出数据到第三方系统

在【ESB输出流】模块,点击【添加】,进入ESB业务输出配置界面,拖出【RESTful】节点进行配置,如图:

Image

配置连接和服务路径

在金蝶K/3 WISE系统→EBDI→API说明→供应链→采购订单,在接口列表栏目,选择新增,如图:

Image

在【常规】配置界面,填写服务路径,选择请求类型,如图:

Image

配置传参

在金蝶K/3 WISE系统→EBDI→API说明→供应链→采购订单,在接口列表栏目,选择新增,查看请求参数,如图:

Image

在调用界面,以导入架构的方式,导入请求参数,如图:

Image

在金蝶K/3 WISE系统→EBDI→API说明→供应链→采购订单,在接口列表栏目,选择获取模板,查看请求参数字段说明,如图:

Image

在Listenner参数下,右键“Payload”分别【添加主表引用】和【添加明细表引用】,如图:

Image

以拖拽的方式,把左侧主表字段和明细表字段一一映射到右侧采购订单请求体参数,如图:

Image

注意:K3 WISE这里的个日期字段需要短日期格式,用函数$Ymd()转换一下。

   根据说明书,url地址需要Token这个参数,我们在连接里已经获取,这里在QueryParams上右键编辑,添加token参数,并把左侧token映射到添加的参数上。

返回参数

返回参数这里我们用不到,无需配置,保持默认就好,如图:

Image

保存

到这里,使用RESTful WebService配置输出数据到第三方系统,点击保存文件为:RESTful-K3 WISE输出订单。

# 在流程上调用ESB,使用RESTful WebService抛入数据到第三方系统

在流程建模模块,拖出任务,切换为调用ESB节点,选择调用对象为在ESB输出流模块配置的RESTful-K3 WISE输出订单,如图:

Image

配置传参

把流程数据传给ESB,只需拖拽字段一一映射即可(也可按住Ctrl键拖拽表名映射),如图:

Image

数据返回

在ESB业务输出模块,我们配置RESTful-K3 WISE输出订单时,没有配置输出参数,这里也无需配置,保持默认。

到这里,在流程上的调用配置就完成了,保存发布流程:RESTful-订单输出。

调用

在流程门户,点击流程填写表单发起流程:

Image

经过一步审批,调用ESB抛入订单到K3 WISE系统,在K3 WISE系统查看生成的订单,如图:

Image